1. Technical Field
The present disclosure relates to testing interaction between client and server systems, and more specifically to testing of client systems consuming contractual services (such as web services and Service Oriented Architecture (SOA) services) on different server systems.
2. Related Art
Server systems commonly provide services that can be invoked by other systems typically via a network. The program logic underlying the services is usually implemented by enterprise applications executing in the server system. Thus, in a common scenario, a client system invokes (and thus consumes) one or more services (to perform a desired task on or using the server system) and receives corresponding responses.
Services are often defined by a corresponding contract, which specifies input/output parameters, the type of the parameters, the format of invoking the service (sending the request), the format of the response, etc. The contract is specified in a structured format such as XML, which makes the content machine-understandable. Thus, client systems can request such contracts and then invoke the services according to the received specification. The services provided according to such contracts are referred to as contractual services.
Web services and Service Oriented Architecture (SOA) services are common examples of contractual services accessible on server systems. As is well known, SOA services are defined at a higher granularity (e.g., purchase of a book), whereas web services are defined at lower granularity (e.g., check book availability, credit card transaction for a purchase, reserve a book for shipping, etc.). SOA services may consume web services in a backend to provide such higher granularity. As is further well known, the contracts for web services and SOA services are often specified according to Web Service Definition Language (WSDL).
There is often a need to test client systems consuming contractual services on different server systems, for example, having different operating environments (e.g., web service stacks, process servers, etc.) for the contractual services. Various aspects of the present invention provide for such testing, as described below in further detail.
In the drawings, like reference numbers generally indicate identical, functionally similar, and/or structurally similar elements. The drawing in which an element first appears is indicated by the leftmost digit(s) in the corresponding reference number.